dwc_otg: make periodic scheduling behave properly for FS buses
authorP33M <p33m@github.com>
Thu, 25 May 2017 15:04:53 +0000 (16:04 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Sat, 31 Mar 2018 14:54:17 +0000 (15:54 +0100)
commite69cfff2dcc933b4644568cf101d503f178b078e
tree20be68691d9147948b064c47a8105a8b798eb515
parente4ddf2ba8a78af6b2d2976c37335cecddb31527f
dwc_otg: make periodic scheduling behave properly for FS buses

If the root port is in full-speed mode, transfer times at 12mbit/s
would be calculated but matched against high-speed quotas.

Reinitialise hcd->frame_usecs[i] on each port enable event so that
full-speed bandwidth can be tracked sensibly.

Also, don't bother using the FIQ for transfers when in full-speed
mode - at the slower bus speed, interrupt frequency is reduced by
an order of magnitude.

Related issue: https://github.com/raspberrypi/linux/issues/2020
drivers/usb/host/dwc_otg/dwc_otg_hcd.c
drivers/usb/host/dwc_otg/dwc_otg_hcd.h
drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c